package cn.touna.jss.modules.third.zhongan.entity;

import cn.touna.risk.api.contraints.BankCardNumber;
import cn.touna.risk.api.contraints.FullName;
import cn.touna.risk.api.contraints.IdCard;
import cn.touna.risk.api.contraints.Mobile;
import cn.touna.risk.api.domain.BaseDomain;
import org.hibernate.validator.constraints.NotBlank;
import org.hibernate.validator.constraints.NotEmpty;

/**
 * Created by Steve.Tao on 2017/8/16.
 */
public class ZhonganRequestEntity {

    public static class AuthRealIdentityRequest extends BaseDomain {

        @NotBlank
        private String requestNo;

        @IdCard
        private String idCard;

        @NotBlank
        private String name;

        public String getRequestNo() {
            return requestNo;
        }

        public void setRequestNo(String requestNo) {
            this.requestNo = requestNo;
        }

        public String getIdCard() {
            return idCard;
        }

        public void setIdCard(String idCard) {
            this.idCard = idCard;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

    public static class RiskListRequest extends BaseDomain {

        @Mobile
        private String mobile;

        @IdCard
        private String idCard;

        @NotBlank
        private String name;

        @NotEmpty
        private String requestNo;

        public String getMobile() {
            return mobile;
        }

        public void setMobile(String mobile) {
            this.mobile = mobile;
        }

        public String getIdCard() {
            return idCard;
        }

        public void setIdCard(String idCard) {
            this.idCard = idCard;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getRequestNo() {
            return requestNo;
        }

        public void setRequestNo(String requestNo) {
            this.requestNo = requestNo;
        }
    }

    public static class AuthCard4ElementsRequest extends BaseDomain {

        private String requestNo;

        @NotBlank
        private String name;

        @IdCard
        private String idCard;

//        @BankCardNumber
        @NotEmpty
        private String bankCardNo;

        @Mobile
        private String mobile;

        public String getRequestNo() {
            return requestNo;
        }

        public void setRequestNo(String requestNo) {
            this.requestNo = requestNo;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getBankCardNo() {
            return bankCardNo;
        }

        public void setBankCardNo(String bankCardNo) {
            this.bankCardNo = bankCardNo;
        }

        public String getIdCard() {
            return idCard;
        }

        public void setIdCard(String idCard) {
            this.idCard = idCard;
        }

        public String getMobile() {
            return mobile;
        }

        public void setMobile(String mobile) {
            this.mobile = mobile;
        }
    }

    public static class AddressRequest {
        @NotBlank
        private String requestNo;

        @NotBlank
        private String name;

        @IdCard
        private String idCard;

        @NotBlank
        private String address;

        @Mobile
        private String mobile;

        /**
         * 1:家庭，2：公司
         */
        @NotBlank
        private String addressFlag;

        public String getRequestNo() {
            return requestNo;
        }

        public void setRequestNo(String requestNo) {
            this.requestNo = requestNo;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getIdCard() {
            return idCard;
        }

        public void setIdCard(String idCard) {
            this.idCard = idCard;
        }

        public String getAddress() {
            return address;
        }

        public void setAddress(String address) {
            this.address = address;
        }

        public String getMobile() {
            return mobile;
        }

        public void setMobile(String mobile) {
            this.mobile = mobile;
        }

        public String getAddressFlag() {
            return addressFlag;
        }

        public void setAddressFlag(String addressFlag) {
            this.addressFlag = addressFlag;
        }
    }
}
